#构造函数
#创建对象的时候就已经拥有的属性
#__init__方法：通常用来做属性初始化或赋值操作
#__init__具有初始化作用，当该类被实例化时会自动执行函数
#那么忙通常可以把初始化的属性放在这个方法里面去
'''
注意：类里面没有写__init__()，python会自动创建，但不执行任何操作。

'''
'''
#例1
class Hero:
    def __init__(self):
        self.name = '泰坦'
        self.hp   = 200
        self.at   = 450
    def move(self):
        print(f'{self.name}正在移动')

    def attack(self):
        print(f'{self.name}的生命值{self.hp}，发出了一招攻击{self.at}')
#创建对象
hero = Hero()
hero.move()  #调用方法
hero.attack()
print('\n')
'''

#实例每个对象，让每个对象拥有不同属性值
#例2
class Hero:
    def __init__(self,name,hp,at):
        self.name = name
        self.hp   = hp
        self.at   = at
    def move(self):
        print(f'{self.name}正在移动')

    def attack(self):
        print(f'{self.name}的生命值{self.hp}，发出了一招攻击{self.at}')
#创建对象
hero1 = Hero('大乔',400,300)
hero2 = Hero('小乔',500,400)

hero1.move()    #调用方法
hero1.attack()
hero2.move()
hero2.attack()


#__init__()构造函数 __魔法方法 通常用来做属性初始化或赋值操作
